home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_traceback.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  3KB  |  94 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''Test cases for traceback module'''
  5. import unittest
  6. from test.test_support import run_unittest, is_jython
  7. import traceback
  8.  
  9. class TracebackCases(unittest.TestCase):
  10.     
  11.     def get_exception_format(self, func, exc):
  12.         
  13.         try:
  14.             func()
  15.         except exc:
  16.             value = None
  17.             return traceback.format_exception_only(exc, value)
  18.  
  19.         raise ValueError, 'call did not raise exception'
  20.  
  21.     
  22.     def syntax_error_with_caret(self):
  23.         compile('def fact(x):\n\treturn x!\n', '?', 'exec')
  24.  
  25.     
  26.     def syntax_error_without_caret(self):
  27.         import test.badsyntax_nocaret as test
  28.  
  29.     
  30.     def test_caret(self):
  31.         err = self.get_exception_format(self.syntax_error_with_caret, SyntaxError)
  32.         self.assert_(len(err) == 4)
  33.         self.assert_('^' in err[2])
  34.         self.assert_(err[1].strip() == 'return x!')
  35.  
  36.     
  37.     def test_nocaret(self):
  38.         if is_jython:
  39.             return None
  40.         
  41.         err = self.get_exception_format(self.syntax_error_without_caret, SyntaxError)
  42.         self.assert_(len(err) == 3)
  43.         self.assert_(err[1].strip() == '[x for x in x] = x')
  44.  
  45.     
  46.     def test_bug737473(self):
  47.         import sys as sys
  48.         import os as os
  49.         import tempfile as tempfile
  50.         import time as time
  51.         savedpath = sys.path[:]
  52.         testdir = tempfile.mkdtemp()
  53.         
  54.         try:
  55.             sys.path.insert(0, testdir)
  56.             testfile = os.path.join(testdir, 'test_bug737473.py')
  57.             print >>open(testfile, 'w'), '\ndef test():\n    raise ValueError'
  58.             if 'test_bug737473' in sys.modules:
  59.                 del sys.modules['test_bug737473']
  60.             
  61.             import test_bug737473
  62.             
  63.             try:
  64.                 test_bug737473.test()
  65.             except ValueError:
  66.                 traceback.extract_tb(sys.exc_traceback)
  67.  
  68.             time.sleep(4)
  69.             print >>open(testfile, 'w'), '\ndef test():\n    raise NotImplementedError'
  70.             reload(test_bug737473)
  71.             
  72.             try:
  73.                 test_bug737473.test()
  74.             except NotImplementedError:
  75.                 src = traceback.extract_tb(sys.exc_traceback)[-1][-1]
  76.                 self.failUnlessEqual(src, 'raise NotImplementedError')
  77.  
  78.         finally:
  79.             sys.path[:] = savedpath
  80.             for f in os.listdir(testdir):
  81.                 os.unlink(os.path.join(testdir, f))
  82.             
  83.             os.rmdir(testdir)
  84.  
  85.  
  86.  
  87.  
  88. def test_main():
  89.     run_unittest(TracebackCases)
  90.  
  91. if __name__ == '__main__':
  92.     test_main()
  93.  
  94.